package com.ruoyi.process.dynamic.service;

import com.ruoyi.common.core.page.Page;

import java.util.Map;


public interface BpmnDynamicService {


    /**
     * 流程定义列表分页
     *
     * @param pageNo
     * @param pageSize
     * @return
     */
    Page<Map<String, Object>> processDefinitionList(Integer pageNo, Integer pageSize);

    /**
     * 不区分待办和待签收任务列表
     *
     * @param pageNo
     * @param pageSize
     * @param userId
     * @return
     */
    Page<Map<String, Object>> IgnoreTodoAndClaimTaskList(Integer pageNo, Integer pageSize, String userId);

    /**
     * 区分待办和待签收任务列表
     *
     * @param pageNo
     * @param pageSize
     * @param userId
     * @return
     */
    Page<Map<String, Object>> todoTaskList(Integer pageNo, Integer pageSize, String userId);


    /**
     * 运行中的流程实例
     *
     * @param pageNo
     * @param pageSize
     * @return
     */
    Page<Map<String, Object>> running(Integer pageNo, Integer pageSize);

    /**
     * 已结束的流程实例
     *
     * @param pageNo
     * @param pageSize
     * @return
     */
    Page<Map<String, Object>> finished(Integer pageNo, Integer pageSize);

    /**
     * 当前登录人的已办任务
     *
     * @param pageNo
     * @param pageSize
     * @param userId
     * @return
     */
    Page<Map<String, Object>> finishedByAssignee(Integer pageNo, Integer pageSize, String userId);

    /**
     * 查询已结束的流程实例
     *
     * @param pageNo
     * @param pageSize
     * @return
     */
    Page<Map<String, Object>> findBpmnInstDetail(Integer pageNo, Integer pageSize);

    /**
     * 查询我发起的流程
     *
     * @param pageNo
     * @param pageSize
     * @param userId
     * @return
     */
    Page<Map<String, Object>> findBpmnInstByStartUserId(Integer pageNo, Integer pageSize, String userId);
}
